<?

/*! Professores da escola
/*!
    Esta classe representa um professor no sistema.
*/
class Professor
{
    //! Consulta todos os professors cadastrados
    /*!
        Pega todos os professors cadastrados no banco.
        \return Lista de objetos
    */
    function consultarTodos()
    {
        $registros = array();
        $con = DB::connect(URL_CONEXAO);

        $resultado = $con->query("Select * from Professor");

        while ($linha = $resultado->fetchRow(DB_FETCHMODE_OBJECT)) {
            array_push($registros, $linha);
        }
        return $registros;
    }

    //! Consulta com base em criterios
    /*!
        Efetua uma consulta por professores com base em algun critério.
        \param $nome Nome do professor
       
        \return Lista de objetos
    */
    function consultar($nome)
    {
        $registros = array();
        $con = DB::connect(URL_CONEXAO);
        $sql = "";

 
        if ($nome != "")
            $sql .= " nom_professor like '%" . $nome . "%' ";

        $sql = "select * from Professor" . $sql;

        $resultado = $con->query($sql);

        while ($linha = $resultado->fetchRow(DB_FETCHMODE_OBJECT)) {
            array_push($registros, $linha);
        }
        return $registros;
    }

    //! Consulta um professor especifico
    /*!
        Pega do banco o professor com o login dado.
        \param $codigo codigo do professor
        \return Lista de objetos
    */
    function consultarUnico($codigo)
    {
        $registros = array();
        $con = DB::connect(URL_CONEXAO);
        $sql = "select * from Professor where cod_professor = " . $codigo . " ";

        $resultado = $con->query($sql);

        return $resultado->fetchRow(DB_FETCHMODE_OBJECT);
    }

    //! Cadastra um novo professor
    /*!
        Cadastra um novo professor no banco.
        \param $nome Nome do professor
       
        \return Boolean
    */
    function incluir($nome, $endereco, $bairro, $cidade, $cep, $uf, $tipoAdmissao, $dataAdmissao, $telefone, $celular, $dataNascimento, $naturalidade, $nacionalidade, $mae)
    {
        $con = DB::connect(URL_CONEXAO);
        $sql = "insert into Professor (nom_professor, end_professor,bai_professor,cid_professor,cep_professor,uf_professor,tpo_admissao,dat_admissao,tel_professor,cel_professor,dat_nascimento,naturalidade,nacionalidade,nom_mae) " .
            " values ('$nome', '$endereco', '$bairro', '$cidade','$cep','$uf','$tipoadmissao','$dataAdmissao','$telefone','$celular','$dataNascimento','$naturalidade','$nacionalidade','$mae')";

        $flag = $con->query($sql);

        if (DB::isError($flag)) {
            return false;
        }
        return true;
    }

    //! Exclui um professor do banco
    /*!
        Elimina um professor do banco em definitivo
        \param $codigo do professor
        \return Boolean
    */
    function excluir($codigo)
    {
        $con = DB::connect(URL_CONEXAO);
        $sql = "delete from Professor where cod_professor = " . $codigo . " ";

        $flag = $con->query($sql);

        if (DB::isError($flag)) {
            return false;
        }
        return true;
    }

    //! Altera um professor
    /*!
        Atualiza um professor no banco com novos valores
        \param $nome Nome do professor
        \param $codigo codigo do professor

        \return Boolean
    */
    function alterar($codigo, $nome, $endereco, $bairro, $cidade, $cep, $uf, $tipoAdmissao, $dataAdmissao, $tipoDesligamento, $dataDesligamento, $telefone, $celular, $dataNascimento, $naturalidade, $nacionalidade, $mae)
    {
        $con = DB::connect(URL_CONEXAO);
        $sql = "Update Professor set nom_professor = '$nome', end_professor = '" . $endereco .  "'" ;
        $sql .= ",bai_professor = '$bairro', cid_professor = '$cidade', cep_professor='$cep',uf_professor='$uf'";
        $sql .= ($tipoAdmissao != "") ? ",tpo_admissao= '$tipoAdmissao', dat_admissao='" . $dataAdmissao : "'";
        $sql .= ($tipoDesligamento != "") ? ",tpo_desligamento= '$tipoDesligamento', dat_desligamento= '" . $dataDesligamento : "'";
        $sql .= ", tel_professor = '$telefone', cel_professor='$celular',dat_nascimento= '" . $dataNascimento . "', naturalidade= '" . $naturalidade . "', nacionalidade= '" . $nacionalidade ."'"  ;
        $sql .= " where cod_professor = '" . $codigo . "'";
        
        $resultado = $con->query($sql);

        if (DB::isError($flag)) {
            return false;
        }
        return true;
    }

}

?>
